Computing systems have become ubiquitous. Businesses and individuals use computer systems and devices on a regular basis, and these computing systems and devices connect with each other over various networks. The data stored or used by these computing systems is usually very important to the owner of the data. An entity may be able to survive the loss of hardware, but that same entity may not be able to survive a loss of data for any extended period of time.
To protect against data loss, data may be backed up. By backing up data, the data can be recovered in the event of data loss or for other reasons. However, the amount of data used or maintained by an entity or even an individual increases over time and conventional backup operations are becoming increasing complex and require significant storage space.
One of the problems associated with backup operations, particularly backup operations performed on live file systems where the file system can be modified even as the backup operation is being performed, is that the resulting backup may not be name space consistent with the live file system. For example, the name of a file or directory in the live file system may change during a backup operation. This can result in a name space inconsistent backup at least because the file may be absent in the backup even though it resides in the live file system with a different name.
Usually, this problem is addressed by requiring that a snapshot be taken on the source file system. When a snapshot is used to perform a backup operation, there is an increase in the COW (copy on write) overhead. Further, snapshots require additional storage space and cooperation from storage administrators. Plus, the snapshots themselves require management. Systems and methods are needed that allow an eventually name space consistent backup to be performed without requiring a snapshot to be taken.